Using widenings to infer loop invariants inside an SMT solver, or: A theorem prover as abstract domain
نویسندگان
چکیده
This paper presents a new technique for combining the inference power of abstract interpretation with the precision and flexibility of an automatic satisfiabilitymodulo-theories theorem prover.
منابع مشابه
A Decision Procedure for Separation Logic in SMT
This paper presents a complete decision procedure for the entire quantifierfree fragment of Separation Logic (SL) interpreted over heaplets with data elements ranging over a parametric multi-sorted (possibly infinite) domain. The algorithm uses a combination of theories and is used as a specialized solver inside a DPLL(T ) architecture. A prototype was implemented within the CVC4 SMT solver. Pr...
متن کاملReasoning About Loops Over Arrays using Vampire
The search for automated loop invariants generation has been popularly pursued due to the fact that invariants play a critical role in the verification process. Invariants with quantifiers are particularly interesting for these quantified invariants can be used to express relationships among the elements of array variables and other scalar variables. Automated invariant generation using a first...
متن کاملUsing Yices as an automated solver in Isabelle/HOL
We describe our integration of the Yices SMT solver into the Isabelle theorem prover. This integration allows users to take advantage of the powerful SMT solving techniques within the interactive theorem proving environment of Isabelle, considerably increasing the automation level for a significant subset of Isabelle/HOL.
متن کاملAVATAR Modulo Theories
This paper introduces a new technique for reasoning with quantifiers and theories. Traditionally, first-order theorem provers (ATPs) are well suited to reasoning with first-order problems containing many quantifiers and satisfiability modulo theories (SMT) solvers are well suited to reasoning with first-order problems in ground theories such as arithmetic. A recent development in first-order th...
متن کاملInvariant and Type Inference for Matrices
We present a loop property generation method for loops iterating over multi-dimensional arrays. When used on matrices, our method is able to infer their shapes (also called types), such as upper-triangular, diagonal, etc. To generate loop properties, we first transform a nested loop iterating over a multidimensional array into an equivalent collection of unnested loops. Then, we infer quantifie...
متن کامل